使用 Docker 容器部署 PHP 网站

今天朋友给我讲给客户部署PHP网站一直遇到问题让我帮助,我看了下系统环境,宝塔面板,好几个Nginx程序,还有Apache服务器,乱七八糟的什么都有,各个服务器占用80 443端口,PHP环境也有问题,然后我觉得也别折腾主机环境了,把程序该卸载卸载了,进程该结束结束了,使用Docker部署吧,把环境隔离开,然后就是整的这些东西。

在 Docker 中运行我的世界服务器

构建我的世界服务器基础镜像

创建 Dockerfile

1
2
3
4
5
6
7
8
9
10
11
12
13
FROM openjdk:21

# 设置工作目录
WORKDIR /workspace

# 复制入口脚本到根目录
COPY entrypoint.sh /entrypoint.sh

# 声明暴露端口(TCP协议)
EXPOSE 25565 25575

# 设置容器启动时执行的入口点
ENTRYPOINT ["/entrypoint.sh"]

UI线程阻塞问题

原因

WinForm采用单线程模型,所有UI控件必须在主线程(也叫UI线程)上更新。如果后台操作(如数据采集、处理)耗时较长,可能会导致界面卡顿或无响应。

上位机行业了解

什么是上位机

上位机(Upper Computer),又称为主控计算机或上层计算机,是指在计算机控制系统中用于管理、监控、控制和协调下位机(如PLC、嵌入式设备、传感器等)工作的计算机系统。上位机通常具有强大的处理能力、存储能力和丰富的接口,能够实现复杂的控制和数据处理任务。

Arduino 雷达测距案例

硬件需要

  • Arduino 开发板(如 Arduino Uno)
  • 雷达传感器(如 HC-SR04 超声波传感器)
  • 蜂鸣器(如有源蜂鸣器模块)
  • LED 灯(红色和绿色各一个)
  • 电阻2个(适用于 LED 灯的电阻,如:1K电阻)
  • 连接线和面包板

软件需要

  • Arduino IDE(用于编写和上传代码到 Arduino)
  • Visual Studio 或 Visual Studio Code(用于编写和调试.NET 代码)
  • .NET 库(System.IO.Ports 库,用于串口通信)(.NET 9 平台)

Arduino 传感器使用方法

LED 灯珠

区分正负极

  • 直插式LED灯珠:
    • 引脚长的一端为正极,短的一端为负极
    • LED灯珠内部,较小的一端通常是正极,较大的一端是负极
  • 贴片式LED灯珠:
    • 贴片发光二极管板子背部的印刷标识符:一般“T”字形或倒三角形符号的一边是正极,另一边是负极。
    • 贴片发光二极管灯板印刷线条,有彩色线条的一侧通常为负极,另一侧为正极。
    • 使用万用表进行测试:当LED灯珠点亮时,红表笔连接的是正极,黑表笔连接的是负极

注意: LED灯珠需要极小电流即可驱动,一定要配备电阻。